﻿using B.S.BasicData.ErrorCode;
using MediatR;
using System.ComponentModel.DataAnnotations;

namespace B.S.BasicData.Write.Api.Application.Command.W
{
    /// <summary>
    ///添加货运单
    /// </summary>
    public class CreatePendingShipmentWaybillsCommand : IRequest<ApiResult<int>>
    {
        /// <summary>
        /// 团队
        /// </summary>
        [Required(ErrorMessage = "团队不能为空")]
        [MaxLength(30, ErrorMessage = "团队长度不能超过30字符")]
        public string Team { get; set; }
        /// <summary>
        /// 仓库名称
        /// </summary>
        [Required(ErrorMessage = "仓库名称不能为空")]
        [MaxLength(30, ErrorMessage = "仓库名称长度不能超过30字符")]
        public string WarehouseName { get; set; }

        /// <summary>
        /// 运单号
        /// </summary>
        [Required(ErrorMessage = "运单号不能为空")]
        [MaxLength(30, ErrorMessage = "运单号长度不能超过30字符")]
        public string WaybillNumber { get; set; }

        /// <summary>
        /// 出货单号
        /// </summary>
        [Required(ErrorMessage = "出货单号不能为空")]
        [MaxLength(30, ErrorMessage = "出货单号长度不能超过30字符")]
        public string OutboundOrderNumber { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [Required(ErrorMessage = "创建时间不能为空")]
        [MaxLength(30, ErrorMessage = "创建时间长度不能超过30字符")]
        public string CreationTime { get; set; }

        /// <summary>
        /// SKU种类
        /// </summary>
        [Required(ErrorMessage = "SKU种类不能为空")]
        [MaxLength(30, ErrorMessage = "SKU种类长度不能超过30字符")]
        public string SKUType { get; set; }

        /// <summary>
        /// SKU数量
        /// </summary>
        [Required(ErrorMessage = "SKU数量不能为空")]
        [MaxLength(30, ErrorMessage = "SKU数量长度不能超过30字符")]
        public string SKUQuantity { get; set; }

        /// <summary>
        /// 重量
        /// </summary>
        [Required(ErrorMessage = "重量不能为空")]
        public decimal Weight { get; set; }

        /// <summary>
        /// 长
        /// </summary>
        [Required(ErrorMessage = "长不能为空")]
        public decimal Length { get; set; }

        /// <summary>
        /// 宽
        /// </summary>
        [Required(ErrorMessage = "宽不能为空")]
        public decimal Width { get; set; }

        /// <summary>
        /// 高
        /// </summary>
        [Required(ErrorMessage = "高不能为空")]
        public decimal Height { get; set; }

        /// <summary>
        ///收件人
        /// </summary>
        [Required(ErrorMessage = "收件人不能为空")]
        [MaxLength(30, ErrorMessage = "收件人长度不能超过30字符")]
        public string Recipient { get; set; }

        /// <summary>
        /// 收件电话
        /// </summary>
        [Required(ErrorMessage = "收件电话不能为空")]
        [MaxLength(30, ErrorMessage = "收件电话长度不能超过30字符")]
        public string RecipientPhoneNumber { get; set; }

        /// <summary>
        /// 附件
        /// </summary>
        [Required(ErrorMessage = "附件不能为空")]
        [MaxLength(30, ErrorMessage = "附件长度不能超过30字符")]
        public string Attachment { get; set; }
        /// <summary>
        /// 状态
        /// </summary>
        [Required(ErrorMessage = "状态不能为空")]
        [MaxLength(30, ErrorMessage = "状态长度不能超过30字符")]

        public string States { get; set; } = "未发货";

    }
}

